MODBUS TABLES
ATyS aM
v
1.2.0
Product Identification > Identification > Product
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 50000 | 4 | "SOCO" | - | STRING_16 | |
| 50004 | 1 | Product order ID (Countis:100, Protection:200, Atys:300, Diris:400) | - | U16 | |
| 50005 | 1 | Product ID (EX: 1000 ATS3) | - | U16 | |
| 50006 | 1 | MODBUS Table Version | - | U16 | |
| 50007 | 1 | Product software version (EX: 100 Version 1.00) | - | U16 | |
| 50008 | 1 | Serial_AA_SS | - | U16_HEX | |
| 50009 | 1 | Serial_SST_L | - | U16_HEX | |
| 50010 | 1 | Serial_order | - | U16 | |
| 50011 | 2 | Serial_Reserve | - | U32 | |
| 50013 | 4 | See "Code table" tab for more details | - | U64_HEX | |
| 50017 | 1 | Customization data loaded (True/False) | - | U8 | |
| 50018 | 1 | Product version (Major) | - | U16 | |
| 50019 | 1 | Product version (Minor) | - | U16 | |
| 50020 | 1 | Product version (Revision) | - | U16 | |
| 50021 | 1 | Product version (Build) | - | U16 | |
| 50022 | 3 | Product build date | - | DATETIME_3 | |
| 50025 | 1 | Software technical base version (Major) | - | U16 | |
| 50026 | 1 | Software technical base version (Minor) | - | U16 | |
| 50027 | 1 | Software technical base version (Revision) | - | U16 | |
| 50028 | 1 | Customization version (Major) | - | U16 | |
| 50029 | 1 | Customization version (Minor) | - | U16 | |
| 50030 | 4 | Product VLO (EX : "880100") | - | STRING_NORM | |
| 50034 | 4 | Customization VLO (EX : "880700") | - | STRING_NORM | |
| 50038 | 4 | Software technical base VLO (EX : "880600") | - | STRING_NORM | |
| 50042 | 8 | Vendor name (EX : "SOCOMEC") | - | STRING_NORM | |
| 50050 | 8 | Product name (EX : "PMD EE") | - | STRING_NORM | |
| 50058 | 8 | Extended name | - | STRING_NORM | |
| 50066 | 1 | Resource version (Build 2) | - | U16 | |
| 50067 | 2 | Net ID | - | U32_HEX |
Visualization > ATS Status > Status
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 20480 | 2 | Date & Time Current | - | DATETIME | |
| 20482 | 1 | Operating Mode 0x0000 0x0010 0x0020 0x0040 |
- | U16_HEX | |
| 20483 | 1 | Switch Position 0 1 2 3 |
- | U8 | |
| 20484 | 1 | Source 2 Start Generator relay State 0 1 |
- | U8 | |
| 20485 | 1 | Priority 1 2 |
- | U8 | |
| 20486 | 1 | Source1 State 0 1 2 |
- | U8 | |
| 20487 | 1 | Source2 State 0 1 2 |
- | U8 | |
| 20488 | 1 | Test in progress 0x0000 0x0001 0x0004 |
- | U16_HEX | |
| 20489 | 1 | Alarm / Fault summary 0 1 2 3 |
- | U8 | |
| 20490 | 1 | Active Fault (with highest priority) 0 2 3 5 7 |
- | U16 | |
| 20491 | 1 | Last Switch over cause 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
- | U8 | |
| 20492 | 1 | Product is available 0 1 |
- | U8 | |
| 20493 | 1 | Source1 Defect (bitfield) | - | U8_HEX | |
| 20494 | 1 | Source2 Defect (bitfield) | - | U8_HEX |
Visualization > ATS Status > Timer state
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 21248 | 2 | Date & Time Current | s | DATETIME | |
| 21250 | 1 | 1FT Source1 Failure Timer | U16 | ||
| 21251 | 1 | 1RT Source1 Available/Return Timer | s | U16 | |
| 21252 | 1 | 2FT Source2 Failure Timer | U16 | ||
| 21253 | 1 | 2RT Source2 Available/Return Timer | s | U16 | |
| 21254 | 1 | 2CT Source2 Genset Cooldown timer | s | U16 | |
| 21255 | 1 | 2ST Source2 Start TimeOut timer | s | U16 | |
| 21256 | 1 | 0DT Zero Dead Timer | U16 | ||
| 21257 | 1 | Limit_TOT Test on load is limited 0 1 |
- | U8 | |
| 21258 | 1 | TOT Test on load duration timer | s | U16 | |
| 21259 | 1 | T3T Test on load end timer | s | U16 | |
| 21260 | 1 | Limit_TFT Test off load is limited 0 1 |
- | U8 | |
| 21261 | 1 | TFT Test off load duration timer | s | U16 |
Visualization > Measure > Network >
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 36864 | 2 | Date of last instance | s | DATETIME | |
| 36866 | 1 | Integration time | U16 | ||
| 36867 | 2 | System Ph-N Voltage | U32 | ||
| 36869 | 2 | System Ph-Ph Voltage | U32 | ||
| 36871 | 2 | Frequency | U32 | ||
| 36873 | 2 | Ph-N Voltage : V1 | U32 | ||
| 36875 | 2 | Ph-N Voltage : V2 | U32 | ||
| 36877 | 2 | Ph-N Voltage : V3 | U32 | ||
| 36879 | 2 | Ph-N Voltage : Vn | U32 | ||
| 36881 | 2 | Ph-Ph Voltage : U12 | U32 | ||
| 36883 | 2 | Ph-Ph Voltage : U23 | U32 | ||
| 36885 | 2 | Ph-Ph Voltage : U31 | U32 |
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 36908 | 2 | Date of last instance | s | DATETIME | |
| 36910 | 1 | Integration time | U16 | ||
| 36911 | 2 | System Ph-N Voltage | U32 | ||
| 36913 | 2 | System Ph-Ph Voltage | U32 | ||
| 36915 | 2 | Frequency | U32 | ||
| 36917 | 2 | Ph-N Voltage : V1 | U32 | ||
| 36919 | 2 | Ph-N Voltage : V2 | U32 | ||
| 36921 | 2 | Ph-N Voltage : V3 | U32 | ||
| 36923 | 2 | Ph-N Voltage : Vn | U32 | ||
| 36925 | 2 | Ph-Ph Voltage : U12 | U32 | ||
| 36927 | 2 | Ph-Ph Voltage : U23 | U32 | ||
| 36929 | 2 | Ph-Ph Voltage : U31 | U32 |
Visualization > Statistics > Operating hours counters
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 512 | 2 | Total operating hours counter | s | U32 | |
| 514 | 2 | Partial operating hours counter | s | U32 |
Visualization > Log > Alarming > Faults >
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 5952 | 1 | Ack ID | - | U16 | |
| 5953 | 1 | Status : 0 1 2 3 |
- | U8 | |
| 5954 | 1 | Alarm Type 0 2 3 5 7 |
- | U8 | |
| 5955 | 1 | Alarm cause : 0 20 |
- | U8 | |
| 5956 | 1 | Criticality : 0 1 2 |
- | U8 | |
| 5957 | 2 | Start date | - | DATETIME | |
| 5959 | 2 | Duration | s | U32 |
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 5975 | 1 | Ack ID | - | U16 | |
| 5976 | 1 | Status : 0 1 2 3 |
- | U8 | |
| 5977 | 1 | Alarm Type 0 2 3 5 7 |
- | U8 | |
| 5978 | 1 | Alarm cause : 0 20 |
- | U8 | |
| 5979 | 1 | Criticality : 0 1 2 |
- | U8 | |
| 5980 | 2 | Start date | - | DATETIME | |
| 5982 | 2 | Duration | s | U32 |
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 5998 | 1 | Ack ID | - | U16 | |
| 5999 | 1 | Status : 0 1 2 3 |
- | U8 | |
| 6000 | 1 | Alarm Type 0 2 3 5 7 |
- | U8 | |
| 6001 | 1 | Alarm cause : 0 20 |
- | U8 | |
| 6002 | 1 | Criticality : 0 1 2 |
- | U8 | |
| 6003 | 2 | Start date | - | DATETIME | |
| 6005 | 2 | Duration | s | U32 |
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 6021 | 1 | Ack ID | - | U16 | |
| 6022 | 1 | Status : 0 1 2 3 |
- | U8 | |
| 6023 | 1 | Alarm Type 0 2 3 5 7 |
- | U8 | |
| 6024 | 1 | Alarm cause : 0 20 |
- | U8 | |
| 6025 | 1 | Criticality : 0 1 2 |
- | U8 | |
| 6026 | 2 | Start date | - | DATETIME | |
| 6028 | 2 | Duration | s | U32 |
Settings > Network > Setup Network
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 12288 | 1 | Network connection type 0 1 4 5 |
- | U8 | |
| 12289 | 2 | Nominal Voltage | V | U32 | |
| 12291 | 1 | Nominal Frequency 0 1 |
- | U8 | |
| 12292 | 1 | Phase Rotation 0 1 3 |
- | U8 | |
| 12293 | 1 | Phase Rotation automatic detection 0 1 |
- | U8 |
Settings > Network > Setup Threshold for up stream Voltages
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 22272 | 1 | Source 1 : Overvoltage threshold | % | U8 | |
| 22273 | 1 | Source 1 : Overvoltage hysteresis threshold | % | U8 | |
| 22274 | 1 | Source 1 : Undervoltage threshold | % | U8 | |
| 22275 | 1 | Source 1 : Undervoltage hysteresis threshold | % | U8 | |
| 22276 | 1 | Source 2 : Overvoltage threshold | % | U8 | |
| 22277 | 1 | Source 2 : Overvoltage hysteresis threshold | % | U8 | |
| 22278 | 1 | Source 2 : Undervoltage threshold | % | U8 | |
| 22279 | 1 | Source 2 : Undervoltage hysteresis threshold | % | U8 | |
| 22280 | 1 | Source 1 : Overfrequency threshold | U16 | ||
| 22281 | 1 | Source 1 : Overfrequency hysteresis threshold | U16 | ||
| 22282 | 1 | Source 1 : Underfrequency threshold | U16 | ||
| 22283 | 1 | Source 1 : Underfrequency hysteresis threshold | U16 | ||
| 22284 | 1 | Source 2 : Overfrequency threshold | U16 | ||
| 22285 | 1 | Source 2 : Overfrequency hysteresis threshold | U16 | ||
| 22286 | 1 | Source 2 : Underfrequency threshold | U16 | ||
| 22287 | 1 | Source 2 : Underfrequency hysteresis threshold | U16 |
Settings > Automation > ATS Aplication
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 22064 | 1 | Type of Application (read only) 0 1 |
- | U8 | |
| 22065 | 1 | Priority - Power supply 1 2 |
- | U8 | |
| 22066 | 1 | Priority - Test On Load 0 1 |
- | U8 |
Settings > Automation > Timers
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 22016 | 1 | 1FT Source1 Failure Timer | U16 | ||
| 22017 | 1 | 1RT Source1 Available/Return Timer | s | U16 | |
| 22018 | 1 | 2FT Source2 Failure Timer | U16 | ||
| 22019 | 1 | 2RT Source2 Available/Return Timer | s | U16 | |
| 22020 | 1 | 2CT Source2 Genset Cooldown timer | s | U16 | |
| 22021 | 1 | 2ST Source2 Start TimeOut timer | s | U16 | |
| 22022 | 1 | 0DT Zero Dead timer | U16 | ||
| 22023 | 1 | Limit_TOT Test on load is limited 0 1 |
- | U8 | |
| 22024 | 1 | TOT Test on load duration timer | s | U16 | |
| 22025 | 1 | T3T Test on load end timer | s | U16 | |
| 22026 | 1 | Limit_TFT Test off load is limited 0 1 |
- | U8 | |
| 22027 | 1 | TFT Test off load duration timer | s | U16 | |
| 22028 | 1 | DRT: Dynamic return timer | s | U16 |
Settings > Communication > Slave address
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 57344 | 1 | Slave Address | - | U8 |
Settings > Communication > Modbus slave connection settings RS485
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 57345 | 1 | Baudrate : 0 1 2 3 4 5 6 7 |
- | U8 | |
| 57346 | 1 | Stop bit : 0 1 |
- | U8 | |
| 57347 | 1 | Parity : 0 1 2 |
- | U8 |
Settings > Time management > Date and time
Functions: Read holding registers (03)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 57600 | 1 | Day | - | U8 | |
| 57601 | 1 | Month | - | U8 | |
| 57602 | 1 | Year | - | U16 | |
| 57603 | 1 | Hour | - | U8 | |
| 57604 | 1 | Minute | - | U8 | |
| 57605 | 1 | Second | - | U8 |
Commands > System > Lock system
Functions: Read holding registers (03), Write single register (06), Write multiple registers (16)
| Address (decimal) | Address (hex) | Size (registers) | Description | Unit | Data type |
|---|---|---|---|---|---|
| 58112 | 1 | Code to submit | - | U16 | |
| 58113 | 1 | Delocker ID | - | U16 |
Documentation
Modbus protocol
Please refer to the protocol specifications of the Modbus Organization for more information.Supported functions
• 3 : Read multiple registers• 6 : Write single register
• 16 : Write multiple registers
Deviation from protocol
The data is presented as groups of meaningful information called "tables". A Read or Write multiple registers command may only include registers of a single table, otherwise the product will return an error code.Data encoding/decoding
Reserved registers
A register labelled "Reserved" in the documentation indicates it is not available on this product.Types
| Type | Description | # Registers | Decoding pseudo-code |
Reserved value (see below *) |
|---|---|---|---|---|
| U8 | Unsigned 8-bit integer | 1 | Value = (uint8_t)(reg[0] & 0x00FF) | 0xFF |
| U16 | Unsigned 16-bit integer | 1 | Value = (uint16_t)reg[0] | 0xFFFF |
| U32 | Unsigned 32-bit integer | 2 | Value = (uint32_t)((reg[0] << 16) + reg[1]) | 0xFFFF FFFF |
| U8_HEX | Unsigned 8-bit integer representing an hexadecimal value | 1 | Value = (uint8_t)(reg[0] & 0x00FF) | 0xFF |
| U16_HEX | Unsigned 16-bit integer representing an hexadecimal value | 1 | Value = (uint16_t)reg[0] | 0xFFFF |
| U32_HEX | Unsigned 32-bit integer representing an hexadecimal value | 2 | Value = (uint32_t)((reg[0] << 16) + reg[1]) | 0xFFFF FFFF |
| U64_HEX | Unsigned 64-bit integer representing an hexadecimal value | 4 | Value = (uint64_t)((reg[0] << 48) + (reg[1] << 32) + (reg[2] << 16) + reg[3]) | 0xFFFF FFFF FFFF FFFF |
| STRING_NORM | UTF-8 encoded string of 8-bit characters where each register contains two characters in normal order, e.g. "abcd" is encoded as "abcd": [0]0xaabb [1]0xccdd | N |
Example of a four character string "abcd" encoded in two registers: "a" = (char_t)((reg[0] >> 8) & 0x00FF) "b" = (char_t)(reg[0] & 0x00FF) "c" = (char_t)((reg[1] >> 8) & 0x00FF) "d" = (char_t)(reg[1] & 0x00FF) |
- |
| STRING_16 | UTF-8 encoded string of 8-bit characters where only the least significant 8 bits of each register represents a character, e.g. "abcd" is encoded as: [0]0x--aa [1]0x--bb [2]0x--cc [3]0x--dd | N |
Example of a four character string "abcd" encoded in four registers: "a" = (char_t)((reg[0] >> 8) & 0x00FF) "b" = (char_t)((reg[1] >> 8) & 0x00FF) "c" = (char_t)((reg[2] >> 8) & 0x00FF) "d" = (char_t)((reg[3] >> 8) & 0x00FF) |
- |
| DATETIME | Unsigned 32-bit integer as the number of seconds since January 1st 2000 (01/01/2000 00:00:00) | 2 | Nb of seconds = (uint32_t)((reg[0] << 16) + reg[1]) | 0xFFFF FFFF |
| DATETIME_3 |
Unsigned 48-bit integer representing a date where each component is stored in 1 byte: [0]0xYYMM [1]0xDDhh [2]0xmmss Example: 2018-11-12T09:34:07 -> [0]0x120B [1]0x0C09 [2]0x2207 |
3 |
Year = 2000 + (uint8_t)((reg[0] >> 8) & 0x00FF) Month = (uint8_t)(reg[0] & 0x00FF) Day = (uint8_t)((reg[1] >> 8) & 0x00FF) Hour = (uint8_t)(reg[1] & 0x00FF) Minute = (uint8_t)((reg[2] >> 8) & 0x00FF) Second = (uint8_t)(reg[2] & 0x00FF) |
0xFFFF FFFF FFFF |